package com.caipin.domain.table;

/**
 * @Author: zhunian0322@163.com
 * @DateTime: 2021-10-06 11:32
 * @Description: TODO
 */

@TableName("t_course_event_report")
public class CourseEventReport {
    @TableId(type = IdType.AUTO)
    private Long id;

    private Long classId;

    private String building;

    private String classroom;

    private String grade;

    private String action;

    private Date startActionTime;

    private Date endActionTime;

    private String imageBase64;

    private String imageFormat;

    private String imageSrc;

    private String studentId;

    private Date createTime;

    public com.caipin.domain.table.CourseEventReport setId(Long id) {
        this.id = id;
        return this;
    }

    public com.caipin.domain.table.CourseEventReport setClassId(Long classId) {
        this.classId = classId;
        return this;
    }

    public com.caipin.domain.table.CourseEventReport setBuilding(String building) {
        this.building = building;
        return this;
    }

    public com.caipin.domain.table.CourseEventReport setClassroom(String classroom) {
        this.classroom = classroom;
        return this;
    }

    public com.caipin.domain.table.CourseEventReport setGrade(String grade) {
        this.grade = grade;
        return this;
    }

    public com.caipin.domain.table.CourseEventReport setAction(String action) {
        this.action = action;
        return this;
    }

    public com.caipin.domain.table.CourseEventReport setStartActionTime(Date startActionTime) {
        this.startActionTime = startActionTime;
        return this;
    }

    public com.caipin.domain.table.CourseEventReport setEndActionTime(Date endActionTime) {
        this.endActionTime = endActionTime;
        return this;
    }

    public com.caipin.domain.table.CourseEventReport setImageBase64(String imageBase64) {
        this.imageBase64 = imageBase64;
        return this;
    }

    public com.caipin.domain.table.CourseEventReport setImageFormat(String imageFormat) {
        this.imageFormat = imageFormat;
        return this;
    }

    public com.caipin.domain.table.CourseEventReport setImageSrc(String imageSrc) {
        this.imageSrc = imageSrc;
        return this;
    }

    public com.caipin.domain.table.CourseEventReport setStudentId(String studentId) {
        this.studentId = studentId;
        return this;
    }

    public com.caipin.domain.table.CourseEventReport setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }

    public boolean equals(Object o) {
        if (o == this)
            return true;
        if (!(o instanceof com.caipin.domain.table.CourseEventReport))
            return false;
        com.caipin.domain.table.CourseEventReport other = (com.caipin.domain.table.CourseEventReport)o;
        if (!other.canEqual(this))
            return false;
        Object this$id = getId(), other$id = other.getId();
        if ((this$id == null) ? (other$id != null) : !this$id.equals(other$id))
            return false;
        Object this$classId = getClassId(), other$classId = other.getClassId();
        if ((this$classId == null) ? (other$classId != null) : !this$classId.equals(other$classId))
            return false;
        Object this$building = getBuilding(), other$building = other.getBuilding();
        if ((this$building == null) ? (other$building != null) : !this$building.equals(other$building))
            return false;
        Object this$classroom = getClassroom(), other$classroom = other.getClassroom();
        if ((this$classroom == null) ? (other$classroom != null) : !this$classroom.equals(other$classroom))
            return false;
        Object this$grade = getGrade(), other$grade = other.getGrade();
        if ((this$grade == null) ? (other$grade != null) : !this$grade.equals(other$grade))
            return false;
        Object this$action = getAction(), other$action = other.getAction();
        if ((this$action == null) ? (other$action != null) : !this$action.equals(other$action))
            return false;
        Object this$startActionTime = getStartActionTime(), other$startActionTime = other.getStartActionTime();
        if ((this$startActionTime == null) ? (other$startActionTime != null) : !this$startActionTime.equals(other$startActionTime))
            return false;
        Object this$endActionTime = getEndActionTime(), other$endActionTime = other.getEndActionTime();
        if ((this$endActionTime == null) ? (other$endActionTime != null) : !this$endActionTime.equals(other$endActionTime))
            return false;
        Object this$imageBase64 = getImageBase64(), other$imageBase64 = other.getImageBase64();
        if ((this$imageBase64 == null) ? (other$imageBase64 != null) : !this$imageBase64.equals(other$imageBase64))
            return false;
        Object this$imageFormat = getImageFormat(), other$imageFormat = other.getImageFormat();
        if ((this$imageFormat == null) ? (other$imageFormat != null) : !this$imageFormat.equals(other$imageFormat))
            return false;
        Object this$imageSrc = getImageSrc(), other$imageSrc = other.getImageSrc();
        if ((this$imageSrc == null) ? (other$imageSrc != null) : !this$imageSrc.equals(other$imageSrc))
            return false;
        Object this$studentId = getStudentId(), other$studentId = other.getStudentId();
        if ((this$studentId == null) ? (other$studentId != null) : !this$studentId.equals(other$studentId))
            return false;
        Object this$createTime = getCreateTime(), other$createTime = other.getCreateTime();
        return !((this$createTime == null) ? (other$createTime != null) : !this$createTime.equals(other$createTime));
    }

    protected boolean canEqual(Object other) {
        return other instanceof com.caipin.domain.table.CourseEventReport;
    }

    public int hashCode() {
        int PRIME = 59;
        result = 1;
        Object $id = getId();
        result = result * 59 + (($id == null) ? 43 : $id.hashCode());
        Object $classId = getClassId();
        result = result * 59 + (($classId == null) ? 43 : $classId.hashCode());
        Object $building = getBuilding();
        result = result * 59 + (($building == null) ? 43 : $building.hashCode());
        Object $classroom = getClassroom();
        result = result * 59 + (($classroom == null) ? 43 : $classroom.hashCode());
        Object $grade = getGrade();
        result = result * 59 + (($grade == null) ? 43 : $grade.hashCode());
        Object $action = getAction();
        result = result * 59 + (($action == null) ? 43 : $action.hashCode());
        Object $startActionTime = getStartActionTime();
        result = result * 59 + (($startActionTime == null) ? 43 : $startActionTime.hashCode());
        Object $endActionTime = getEndActionTime();
        result = result * 59 + (($endActionTime == null) ? 43 : $endActionTime.hashCode());
        Object $imageBase64 = getImageBase64();
        result = result * 59 + (($imageBase64 == null) ? 43 : $imageBase64.hashCode());
        Object $imageFormat = getImageFormat();
        result = result * 59 + (($imageFormat == null) ? 43 : $imageFormat.hashCode());
        Object $imageSrc = getImageSrc();
        result = result * 59 + (($imageSrc == null) ? 43 : $imageSrc.hashCode());
        Object $studentId = getStudentId();
        result = result * 59 + (($studentId == null) ? 43 : $studentId.hashCode());
        Object $createTime = getCreateTime();
        return result * 59 + (($createTime == null) ? 43 : $createTime.hashCode());
    }

    public String toString() {
        return "CourseEventReport(id=" + getId() + ", classId=" + getClassId() + ", building=" + getBuilding() + ", classroom=" + getClassroom() + ", grade=" + getGrade() + ", action=" + getAction() + ", startActionTime=" + getStartActionTime() + ", endActionTime=" + getEndActionTime() + ", imageBase64=" + getImageBase64() + ", imageFormat=" + getImageFormat() + ", imageSrc=" + getImageSrc() + ", studentId=" + getStudentId() + ", createTime=" + getCreateTime() + ")";
    }

    public Long getId() {
        return this.id;
    }

    public Long getClassId() {
        return this.classId;
    }

    public String getBuilding() {
        return this.building;
    }

    public String getClassroom() {
        return this.classroom;
    }

    public String getGrade() {
        return this.grade;
    }

    public String getAction() {
        return this.action;
    }

    public Date getStartActionTime() {
        return this.startActionTime;
    }

    public Date getEndActionTime() {
        return this.endActionTime;
    }

    public String getImageBase64() {
        return this.imageBase64;
    }

    public String getImageFormat() {
        return this.imageFormat;
    }

    public String getImageSrc() {
        return this.imageSrc;
    }

    public String getStudentId() {
        return this.studentId;
    }

    public Date getCreateTime() {
        return this.createTime;
    }
}

